<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<!--edge浏览器H5兼容设置-->
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<!--360浏览器H5兼容设置-->
		<meta name="renderer" content="webkit" />
		<title>电脑商城</title>
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<!--导入核心文件-->
		<script src="../bootstrap3/js/holder.js"></script>
		<link href="../bootstrap3/css/bootstrap.css" rel="stylesheet" type="text/css">
		<script src="../bootstrap3/jquery-1.9.1.min.js"></script>
		<script src="../bootstrap3/js/bootstrap.js"></script>
		<!-- 字体图标 -->
		<link rel="stylesheet" href="../bootstrap3/font-awesome-4.7.0/css/font-awesome.css" />
		<link rel="stylesheet" type="text/css" href="../css/layout.css" />
		<link rel="stylesheet" type="text/css" href="../css/top.css" />
		<link rel="stylesheet" type="text/css" href="../css/footer.css" />
		<link rel="stylesheet" type="text/css" href="../css/cart.css" />
<!--		<script src="../js/cart.js" type="text/javascript" charset="utf-8"></script>-->
	</head>

	<body>
		<!--头部-->
		<header class="header">
			<!--电脑商城logo-->
			<div class="row">
				<div class="col-md-3">
					<a href="index.html">
						<img src="../images/index/stumalllogo.png" />
					</a>
				</div>
				<!--快捷选项-->
				<div class="col-md-9 top-item">
					<ul class="list-inline pull-right">
						<li><a href="favorites.html"><span class="fa fa-heart"></span>&nbsp;收藏</a></li>
						<li class="li-split">|</li>
						<li><a href="orders.html"><span class="fa fa-file-text"></span>&nbsp;订单</a></li>
						<li class="li-split">|</li>
						<li><a href="cart.html"><span class="fa fa-cart-plus"></span>&nbsp;购物车</a></li>
						<li class="li-split">|</li>
						<li>
							<!--下列列表按钮 ：管理-->
							<div class="btn-group">
								<button type="button" class="btn btn-link dropdown-toggle" data-toggle="dropdown">
									<span id="top-dropdown-btn"><span class="fa fa-gears"></span>&nbsp;管理 <span class="caret"></span></span>
								</button>
								<ul class="dropdown-menu top-dropdown-ul" role="menu">
									<li><a href="password.html">修改密码</a></li>
									<li><a href="userdata.html">个人资料</a></li>
									<li><a href="upload.html">上传头像</a></li>
									<li><a href="address.html">收货管理	</a></li>
								</ul>
							</div>
						</li>
						<li class="li-split">|</li>
						<li><a href="login.html"><span class="fa fa-user"></span>&nbsp;登录</a></li>
					</ul>
				</div>
			</div>
		</header>
		<!--导航 -->
		<!--分割导航和顶部-->
		<div class="row top-nav">
			<div class="col-md-6">
				<ul class="nav nav-pills">
					<li>
						<a href="#"></a>
					</li>
					<li class="active"><a href="index.html"><span class="fa fa-home"></span></a></li>
					<li><a href="#">秒杀</a></li>
					<li><a href="#">优惠券</a></li>
					<li><a href="#">电脑VIP</a></li>
					<li><a href="#">外卖</a></li>
					<li><a href="#">超市</a></li>
				</ul>
			</div>
			<div class="col-md-6">
				<form action="search.html" class="form-inline pull-right" role="form">
					<div class="form-group">
						<input type="text" class="form-control" id="search" name="search" placeholder="请输入商品名称进行搜索">
					</div>
					<button type="submit" class="btn btn-default btn-sm"><span class="fa fa-search"></span></button>
				</form>
			</div>
		</div>
		<!--头部结束-->
		<!--导航结束-->
		<div class="container">
			<div class="col-md-offset-1 col-md-10">
				<div class="panel panel-primary">
					<div class="panel-heading">
						<p class="panel-title"><span class="fa fa-shopping-cart"></span> 购物车<a style="float: right" href="#" onClick="javascript :history.back(-1)">返回上一页</a></p>
					</div>
					<div class="panel-body">
						<form action="orderConfirm.html" role="form">
							<!--购物车表格开始-->
							<table class="cart-table" width="100%">
								<thead>
									<tr>
										<th width="8%">
											<input id="all" type="checkbox" class="ckall" onclick="checkAll()" />全选</th>
										<th width="110"></th>
										<th width="29%">商品</th>
										<th width="11%">单价</th>
										<th width="15%">数量</th>
										<th width="11%">金额</th>
										<th>操作</th>
									</tr>
								</thead>
								<tbody id="cart-list" class="cart-body">
									<tr>
										<td>
											<input type="checkbox" class="ckitem" />
										</td>
										<td><img src="../images/portal/12DELLXPS13-silvery/collect.png" class="img-responsive" /></td>
										<td>联想(Lenovo)小新Air13 Pro 13.3英寸14.8mm超轻薄笔记本电脑</td>
										<td>¥<span id="goodsPrice1">5298</span></td>
										<td>
											<input type="button" value="-" class="num-btn" onclick="reduceNum(1)" />
											<input id="goodsCount1" type="text" size="2" readonly="readonly" class="num-text" value="1">
											<input class="num-btn" type="button" value="+" onclick="addNum(1)" />
										</td>
										<td><span id="goodsCast1"></span></td>
										<td>
											<input type="button" onclick="delCartItem(this)" class="cart-del btn btn-default btn-xs" value="删除" />
										</td>
									</tr>
									<tr>
										<td>
											<input type="checkbox" class="ckitem" />
										</td>
										<td><img src="../images/portal/16LenovoYOGA900green/collect.png" class="img-responsive" /></td>
										<td>戴尔(DELL)XPS13-9360-R1609 13.3</td>
										<td>¥<span id="goodsPrice2">4988</span></td>
										<td>
											<input type="button" value="-" class="num-btn" onclick="reduceNum(2)" />
											<input id="goodsCount2" type="text" size="2" readonly="readonly" class="num-text" value="1">
											<input class="num-btn" type="button" value="+" onclick="addNum(2)" />
										</td>
										<td><span id="goodsCast2"></span></td>
										<td>
											<input type="button" onclick="delCartItem(this)" class="cart-del btn btn-default btn-xs" value="删除" />
										</td>
									</tr>
									<tr>
										<td>
											<input type="checkbox" class="ckitem" />
										</td>
										<td><img src="../images/portal/13LenovoIdeaPad310_silvery/collect.png" class="img-responsive" /></td>
										<td>戴尔(DELL)魔方15MF Pro-R2505TSS灵越</td>
										<td>¥<span id="goodsPrice3">4699</span></td>
										<td>
											<input type="button" value="-" class="num-btn" onclick="reduceNum(3)" />
											<input id="goodsCount3" type="text" size="2" readonly="readonly" class="num-text" value="1">
											<input class="num-btn" type="button" value="+" onclick="addNum(3)" />
										</td>
										<td><span id="goodsCast3"></span></td>
										<td>
											<input type="button" onclick="delCartItem(this)" class="cart-del btn btn-default btn-xs" value="删除" />
										</td>
									</tr>
								</tbody>
							</table>
							<div class="total-bar">
								<a onclick="deleteProducts()" class="cart-del-sel btn btn-default btn-xs">删除所选商品</a>
								<span class="pull-right">已选商品
								<span id="selectCount">0</span>种 总价¥
								<span id="selectTotal">0</span>元</span>
							</div>
							<div>
								<span class="pull-right">
								<input type="submit" value="  结  算  " class="btn btn-primary btn-lg link-account" />
							</span>
							</div>
						</form>
					</div>
				</div>
			</div>
		</div>
		<!--页脚开始-->
		<div class="clearfix"></div>
		<footer class="footer">
			<!-- 品质保障，私人定制等-->
			<div class="text-center rights container">
				<div class="col-md-offset-2 col-md-2">
					<span class="fa fa-thumbs-o-up"></span>
					<p>品质保障</p>
				</div>
				<div class="col-md-2">
					<span class="fa fa-address-card-o"></span>
					<p>私人订制</p>
				</div>
				<div class="col-md-2">
					<span class="fa fa-graduation-cap"></span>
					<p>学生特供</p>
				</div>
				<div class="col-md-2">
					<span class="fa fa-bitcoin"></span>
					<p>专属特权</p>
				</div>
			</div>
			<!--联系我们、下载客户端等-->
			<div class="container beforeBottom">
				<div class="col-md-offset-1 col-md-3">
					<div><img src="../images/index/stumalllogo.png" alt="" class="footLogo" /></div>
					<div><img src="../images/index/footerFont.png" alt="" /></div>
				</div>
				<div class="col-md-4 callus text-center">
					<div class="col-md-4">
						<ul>
							<li>
								<a href="#">
									<p>买家帮助</p>
								</a>
							</li>
							<li><a href="#">新手指南</a></li>
							<li><a href="#">服务保障</a></li>
							<li><a href="#">常见问题</a></li>
						</ul>
					</div>
					<div class="col-md-4">
						<ul>
							<li>
								<a href="#">
									<p>商家帮助</p>
								</a>
							</li>
							<li><a href="#">商家入驻</a></li>
							<li><a href="#">商家后台</a></li>
						</ul>
					</div>
					<div class="col-md-4">
						<ul>
							<li>
								<a href="#">
									<p>关于我们</p>
								</a>
							</li>
							<li><a href="#">关于圆心</a></li>
							<li><a href="#">联系我们</a></li>
							<li>
								<span class="fa fa-wechat"></span>
								<span class="fa fa-weibo"></span>
							</li>
						</ul>
					</div>
				</div>
				<div class="col-md-4">
					<div class="col-md-5">
						<p>电脑商城客户端</p>
						<img src="../images/index/ios.png" class="lf">
						<img src="../images/index/android.png" alt="" class="lf" />
					</div>
					<div class="col-md-6">
						<img src="../images/index/erweima.png">
					</div>
				</div>
			</div>
			<!-- 页面底部-备案号 #footer -->
			<div class="col-md-12 text-center bottom">
				Copyright © 2022 dnsc.cn All Rights Reserved 京ICP备08963888号-45 <a target="_blank" style="font-size: 12px" href="http://www.dnsc.cn/">圆心科技集团有限公司</a> 版权所有
			</div>
		</footer>
		<!--页脚结束-->
		<script type="text/javascript">

			//全选按钮功能实现
			function checkAll() {
				//获取全选按钮的状态
				let flag = $("#all").prop("checked");
				//设置其他选中按钮的状态
				$("input[name='ck']").each(function () {
					this.checked = flag;
				});
				//获取已选中按钮的个数
				let select=$("input[name='ck']:checked").length;
				if (select!=0) {

					//显示已选商品个数 和 总价功能实现
					$("#selectCount").html($("input[name='ck']:checked").length);

					if (flag) {
						//获取cids
						let cids = $("input[name='ck']:checked");
						let cidStr = "";
						//获取每个选择的商品的cid值 拼接成字符串
						$.each(cids, function () {
							let cid = $(this).val();
							cidStr += cid + ",";
						});
						$.ajax({
							url: "/cart/getTotalPriceByCids",
							type: "post",
							data:"cidStr="+cidStr,
							dataType: "json",
							success: function (res) {
								if (res.state == 200) {
									//将查询到的数据绑定到页面 显示
									$("#selectTotal").html(res.data);
								} else {
									alert(res.msg);
								}
							},
							error: function (xhr) {
								alert("获取商品总价出现异常" + xhr.status);
							}
						});
					}
				}else {
					$("#selectCount").html(0);
					$("#selectTotal").html(0);
				}
			}

			//单个按钮改变全选按钮功能实现
			function ckClick(){
				//当所有的选中按钮都被选中时 全选按钮也变成选中状态
				//获取选中按钮总个数
				let total=$("input[name='ck']").length;
				//获取已选中按钮的个数
				let select=$("input[name='ck']:checked").length;
				//比较
				if(total==select){
					$("#all").prop("checked",true);
				}else {
					$("#all").prop("checked",false);
				}

				//显示已选商品 和 总价功能实现
				$("#selectCount").html(select);
				if(select!=0) {
					//获取cids
					let cids = $("input[name='ck']:checked");
					let cidStr = "";
					//获取每个选择的商品的cid值 拼接成字符串
					$.each(cids, function () {
						let cid = $(this).val();
						cidStr += cid + ",";
					});

					$.ajax({
						url: "/cart/getTotalPriceByCids",
						type: "post",
						data: "cidStr=" + cidStr,
						dataType: "json",
						success: function (res) {
							if (res.state == 200) {
								//将查询到的数据绑定到页面 显示
								$("#selectTotal").html(res.data);
							} else {
								alert(res.msg);
							}
						},
						error: function (xhr) {
							alert("获取商品总价出现异常" + xhr.status);
						}
					});
				}else {//没有选中商品 总价为0
					$("#selectTotal").html(0);
				}
			}


			//打开页面自动显示购物车商品信息
			$(document).ready(function () {
				$("#cart-list").empty();
				//ajax异步获取购物车商品信息
				$.ajax({
					url:"/cart/getCartProducts",
					type:"get",
					dataType:"json",
					success:function (res) {
						if(res.state==200){
							//将查询到的数据绑定到页面 显示
							for(let i=0;i<res.data.length;i++){
								let html = "<tr>\n" +
										"<td>\n" +
										"<input id='ck#{cid}' name='ck' value='#{cid}' type=\"checkbox\" class=\"ckitem\" onclick='ckClick()' />\n" +
										"</td>\n" +
										"<td><img src=\"..#{image}collect.png\" class=\"img-responsive\" /></td>\n" +
										"<td>#{title}</td>\n" +
										"<td>¥<span id=\"goodsPrice#{cid}\">#{price}</span></td>\n" +
										"<td>\n" +
										"<input id='-#{cid}' type=\"button\" value=\"-\" class=\"num-btn\" onclick=\"reduceNum(#{cid})\" />\n" +
										"<input id=\"goodsCount#{cid}\" type=\"text\" size=\"2\" value='#{num}' readonly=\"readonly\"  class=\"num-text\" value=\"1\">\n" +
										"<input class=\"num-btn\" type=\"button\" value=\"+\" onclick=\"addNum(#{cid})\" />\n" +
										"</td>\n" +
										"<td><span id=\"goodsCast#{cid}\">#{total}</span></td>\n" +
										"<td>\n" +
										"<input type=\"button\" onclick=\"deleteOneProduct(#{cid})\" class=\"cart-del btn btn-default btn-xs\" value=\"删除\" />\n" +
										"</td>\n" +
										"</tr>";
								html=html.replace("#{image}", res.data[i].image);
								html=html.replace("#{title}", res.data[i].title);
								html=html.replace("#{price}", res.data[i].price);
								html=html.replace("#{num}", res.data[i].num);
								html=html.replace("#{total}",res.data[i].price*res.data[i].num);
								html=html.replace(/#{cid}/g,res.data[i].cid);
								$("#cart-list").append(html);
							}
						}else{
							alert(res.msg);
						}
					},
					error:function (xhr) {
						alert("查询商品信息出现异常"+xhr.status);
					}
				});
			});

			//删除单个商品功能实现
			function deleteOneProduct(cid) {
				if(confirm("您确定要删除这条商品吗?")) {
					//发送ajax到后端
					$.ajax({
						url: "/cart/deleteProducts",
						type: "post",
						data: "cidStr=" + cid,
						dataType: "json",
						success: function (res) {
							if (res.state == 200) {
								//刷新页面
								location.reload();
							} else {
								alert(res.msg);
							}
						},
						error: function (xhr) {
							alert("删除单个商品出现异常" + xhr.status);
						}
					});
				}
			}

			//批量删除购物车商品功能实现
			function deleteProducts() {
				let cids=$("input[name='ck']:checked")
				if(cids.length==0){
					alert("请您先选择要删除的商品!");
				}else {
					var cidStr = "";
					if (confirm("您确定要删除这" + cids.length + "条商品吗?")) {
						//获取每个选择的商品的cid值 拼接成字符串
						$.each(cids, function () {
							let cid = $(this).val();
							cidStr += cid + ",";
						});
						//发送ajax到后端
						$.ajax({
							url: "/cart/deleteProducts",
							type: "post",
							data: "cidStr=" + cidStr,
							dataType: "json",
							success: function (res) {
								if (res.state == 200) {
									//刷新页面
									location.reload();
								} else {
									alert(res.msg);
								}
							},
							error: function (xhr) {
								alert("批量删除商品出现异常" + xhr.status);
							}
						});
					}
				}
			}


			//增加购物车内商品数量功能实现
			function addNum(cid){
				$.ajax({
					url:"/cart/changeNum",
					type:"post",
					data:{
						"cid":cid,
						"amount": 1,
						"option": "+"
					},
					dataType:"json",
					success:function (res) {
						if(res.state==200){
							//绑定数据到页面
							$("#goodsCount"+cid).val(res.data);
							//html() 获取标签内部的内容  先获取price 再乘num
							let price=$("#goodsPrice"+cid).html();
							$("#goodsCast"+cid).html(price*res.data);

							//后加功能 当商品处于选中状态 添加商品数量时 总价也要变 调用显示总价功能
							ckClick();
						}else{
							alert(res.msg);
						}
					},
					error:function (xhr) {
						alert("修改商品数量出现异常"+xhr.status);
					}
				});

			}

			//减少购物车内商品数量功能实现
			function reduceNum(cid){
				$.ajax({
					url:"/cart/changeNum",
					type:"post",
					data:{
						"cid":cid,
						"amount": 1,
						"option": "-"
					},
					dataType:"json",
					success:function (res) {
						if(res.state==200){
							//绑定数据到页面
							$("#goodsCount"+cid).val(res.data);
							//html() 获取标签内部的内容  先获取price 再乘num
							let price=$("#goodsPrice"+cid).html();
							$("#goodsCast"+cid).html(price*res.data);

							//后加功能 当商品处于选中状态 添加商品数量时 总价也要变 调用显示总价功能
							ckClick();
						}else{
							alert(res.msg);
						}
					},
					error:function (xhr) {
						alert("修改商品数量出现异常"+xhr.status);
					}
				});
			}


			$(function() {
				//返回链接
				$(".link-account").click(function() {
					location.href = "orderConfirm.html";
				})
			})
		</script>
	</body>

</html>